home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Floppyshop 2
/
Floppyshop - 2.zip
/
Floppyshop - 2.iso
/
diskmags
/
5791-.end
/
dmg-5873
/
3rdguide
/
exceptns.txt
< prev
next >
Wrap
Text File
|
1989-12-31
|
7KB
|
134 lines
PRT_LINE ⑧x1k1 םגגגגגגגגגגגגגגגגגגגגג™
ø EXCEPTION PROCEDURE ø
ijגגגגגגגגגגגגגגגגגגגגגך
EXCEPTION:
move SR,SR_Saved
set S
clr T
if Exception = Reset
then RESET
endif
if Exception = Interrupt
then move Interrupt_Pending_Level,I0_I1_I2
if Exception = Auto_Vector_Interrupt
then Vector# = 24+I0_I1_I2
else (Exception=Non_Auto_Vector_Interrupt) MC68901 gives Vector#
(if MC68901 non Reseted then Vector# = 15)
if Bus Error
then Vector# = 24 (Parasit Interrupt)
endif
endif
else calculate Vector#
endif
mul #4,Vector#
move.l PC,-(SSP)
move SR_Saved,-(SSP)
if Bus Error or Address Error
if it is the 1rst Bus Error or Address Error
then EXCEPTION
else HALT
endif
endif
if Exception = Bus Error or Address Error (cause to prefetch: PC=PC+2 ... +10)
move Instruction_Register,-(SSP)
move.l Fault_address,-(SSP)
move Processor_State,-(SSP) (b0-b2=FC0-FC2 b3=I/N b4=R/W)
*FUNCTION CODES FC2 FC1 FC0
User Data 0 0 1
User Programm 0 1 0
Super Data 1 0 1
Super Programm 1 1 0
Interrupt Acknowledge 1 1 1
- Other
*I/N Instruction/exceptioN
0: Instruction TRAP TRAPV CHK DIV0
1: Reset Bus/Address_Error Trace Interrupt Illegal Line_A/F
& Privilege_Violation
*R/W 1:Read 0:Write
endif
move.l (Vector#),PC
if Bus Error
if it is the 1rst Bus Error or Address Error
then EXCEPTION
else HALT
endif
endif
...
RTE
HALT: wait RESET
RESET:
move #%111,I0_I1_I2
move #0,Vector#
mul #4,Vector#
move.l (Vector#),SSP
move #1,Vector#
mul #4,Vector#
move.l (Vector#),PC
...
םגגגגגגגגגגגגגגגגגגגגגגגגגגג™
ø EXCEPTION PRIORITY LEVELS ø
םגגגגגגגגגגגגדגגגגגגגגגגגגגגגגגגגגגגגגגגגœ
ø High level ø Reset ø
ø ø Bus Error ø
ø ø Address Error ø
ø ø Trace ø
ø ø Interrupt ø
ø ø Illegal ø
ø ø Line_A Line_F ø
ø ø Privilege Violation ø
ø Low level ø TRAP TRAPV CHK DIV0 ø
ijגגגגגגגגגגגגIJגגגגגגגגגגגגגגגגגגגגגגגגגגגך
םגגגגגגגגגגגגגגגגגגגגגגגגגגג™
ø INTERRUPT PRIORITY LEVELS ø
םגגגגגגגגגגגגגגגגגגגגגגגגגגגגIJגגגגגגגגגגגגגגגגגגגגגגגגגגגIJגגגגגגגגגגגגגגגגגגגגג™
ø Interrupt if IPL2_IPL1_IPL0 >= I2_I1_I0 (Excepted for NMI) ø
בגגגגאגגגגאגגגגאגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגœ
øIPL2øIPL1øIPL0ø Interrupt ø
בגגגגדגגגגדגגגגדגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגœ
ø 1 ø 1 ø 1 ø (Non Maskable Interrupt , Expand Port) ø
בגגגגדגגגגדגגגגדגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגœ
ø 1 ø 1 ø 0 ø MC68901 ø
בגגגגדגגגגדגגגגדגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגœ
ø 1 ø 0 ø 1 ø (Expand Port) ø
בגגגגדגגגגדגגגגדגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגœ
ø 1 ø 0 ø 0 ø Vertival BLanking ø
בגגגגדגגגגדגגגגדגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגœ
ø 0 ø 1 ø 1 ø (Expand Port) ø
בגגגגדגגגגדגגגגדגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגœ
ø 0 ø 1 ø 0 ø Horizontal BLanking ø
בגגגגדגגגגדגגגגדגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגœ
ø 0 ø 0 ø 1 ø - ø
בגגגגדגגגגדגגגגדגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגœ
ø 0 ø 0 ø 0 ø No Interrupt ø
ijגגגגIJגגגגIJגגגגIJגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגך
חללללללללללללללללללל†
´ EXCEPTION VECTORS ´
חלללללללללעלללללללללעלללללללללללטלללללללללללללללללללטלללללללללללללללללללללללללל†
´Address $ø Vector# ø Exception ´
וגגגגגגגגגדגגגגגגגגגדגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגÀ
´ 0/4 ø 0/1 ø Reset SSP / PC ´
´ 8 ø 2 ø Bus Error ´
´ C ø 3 ø Address Error ´
´ 10 ø 4 ø Illegal Instructions ´
´ 14 ø 5 ø DIV by 0 Instruction ´
´ 18 ø 6 ø CHK Instruction ´
´ 1C ø 7 ø TRAPV Instruction ´
´ 20 ø 8 ø Privilege Violation ´
´ 24 ø 9 ø Trace ´
´ 28 ø 10 ø $Axxx Instructions ´
´ 2C ø 11 ø $Fxxx Instructions ´
´ 30-38 ø 12-14 ø - ´
´ 3C ø 15 ø Non Reseted Interrupt ´
´ 40-5C ø 16-23 ø - ´
´ 60 ø 24 ø Parasit Interrupt ´
´ 64 ø 25 ø Auto_Vector Interrupt #1= - ´
´ 68 ø 26 ø Auto_Vector Interrupt #2= Horizontal BLanking ´
´ 6C ø 27 ø Auto_Vector Interrupt #3= - ´
´ 70 ø 28 ø Auto_Vector Interrupt #4= Vertical BLanking ´
´ 74-7C ø 29-31 ø Auto_Vector Interrupt #5-7= - ´
´ 80-BC ø 32-47 ø TRAP Instruction #0-15 ´
´ C0-FC ø 48-63 ø - ´
´ 100-3FC ø 64-255 ø Non_Auto_Vector Interrupts ´
זלללללללללנלללללללללנלללללללללללללללללללללללללללללללללללללללללללללללללללללללללל¶